package com.sisSaude.formBeans;

import java.util.Vector;

import javax.faces.model.SelectItem;

import com.sisSaude.builders.FichaDeAvaliacaoBuilder;
import com.sisSaude.collections.AlunosCollection;
import com.sisSaude.dtos.FichaDeAvaliacaoDTO;
import com.sisSaude.entityBeans.Aluno;
import com.sisSaude.writers.FichaDeAvaliacaoPdfWrite;

public class FichaDeAvaliacaoFilter extends GenericFormBean {

	// fields
	private int idAluno;
	private Aluno aluno = null;
	private AlunosCollection alunos;
	
	// constructors
	public FichaDeAvaliacaoFilter() {
		if (getUsuarioCorrente().isAluno())
			idAluno = getUsuarioCorrente().getIdAluno();
	}
	
	// public methods
	public String gerar() {
		if (idAluno == 0) {
			addMessage("Selecione o aluno!");
			return null;
		}
		getAlunos();
		aluno = alunos.find(idAluno);
		FichaDeAvaliacaoDTO documento = FichaDeAvaliacaoBuilder.build(aluno);
		try {
			FichaDeAvaliacaoPdfWrite.write(documento, getSession(), getRequest());
		} catch (Exception e) {
			addMessage(e.getMessage());
		}
		return "outputFile";
	}
	
	// getters
	public Vector<SelectItem> getAlunos() {
		if (alunos == null)
			alunos = new AlunosCollection("Aluno.nome");
		return alunos.getSelectedItens();
	}
	public int getIdAluno() {
		return idAluno;
	}
	public boolean isEnabledUsuario() {
		return !getUsuarioCorrente().isAluno();
	}
	
	// setters
	public void setIdAluno(int idAluno) {
		this.idAluno = idAluno;
	}
	
}
